<%-- 
    Document   : dao4
    Created on : 2014/8/20, 下午 03:31:43
    Author     : gjun
--%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean class="dao.BaseDAO" id="dao"/>
<jsp:useBean class="java.util.ArrayList" id="list" />   <%-- 此法有問題?????--%>
<%-- 
    <jsp:useBean class="java.util.ArrayList" id="list" />做了兩個動作
    1. ArrayList list = new ArrayList();
    2. page.setAttribute("list", list);
    =>  所以在java的heap區先new出一個ArrayList，java的stack區的list指向heap區的ArrayList
    =>  之後page裡的list指向heap區的ArrayList
    list = dao.query(sql, ary);
    =>  java的stack區的list指向另一個heap區的ArrayList(有內容的)
         page裡的list指向位置不變(無內容的)
    =>  最後想印出page，當然無內容
--%>
<%  
    String sql = "Select id, username, tel, birthday from person ";
    String ary[] = {};
    list = dao.query(sql, ary);
    System.out.println(list);
//    request.setAttribute("list", list);   //法一，需要把資料丟到request、session、application內
    %>
    <%--  <c:set var="list" value="<%= list %>" />   法二，需要把資料丟到request、session、application內 --%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <c:forEach var="x" items="${list}"> <%--  --%>
            <c:out value="${x}"/> <br>
        </c:forEach>
    </body>
</html>
